<body>
<p>Table, Graph, and Tree data structures for organizing data. 
{@link prefuse.data.Table}
instances store any number of type data in a row and column format. Each column
of data is separately represented in a {@link prefuse.data.column.Column}
instance. Row data can be accessed directly by the row index, or can be
accessed in an object-oriented manner using the {@link prefuse.data.Tuple}
interface. The {@link prefuse.data.CascadedTable} class provides filtered views over
backing Table instances. Table {@link prefuse.data.Schema Schemas} are used to represent
the names, data type, and default values of table columns, and can be used
to instantiate tables of the desired type.</p>

<p>{@link prefuse.data.Graph} and {@link prefuse.data.Tree} instances also use a tabular representation,
using separate data tables to store node and edge data. At the cost of a little
complexity, this allows for a very flexible system. For example, the same data
table can be used as the node table for multiple graphs, supporting efficient
memory use and allowing easy propagation of data changes. Similar to tables,
graphs and trees can be accessed using the row indices of the respective
tables, or through object-oriented Tuple proxies. The
{@link prefuse.data.Node} and {@link prefuse.data.Edge} interfaces
provide a more typical object-oriented API to the graph structure and data.
</p>
</body>